package com.qingcloud.adminbackend.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qingcloud.adminbackend.entity.product.SysProductTopic;
import com.qingcloud.adminbackend.pojo.dto.sysproduct.AddSysProductTopicDTO;
import com.qingcloud.adminbackend.pojo.dto.sysproduct.PageSysProductTopicListDTO;
import com.qingcloud.adminbackend.pojo.dto.sysproduct.UpdateSysProductTopicDTO;
import com.qingcloud.adminbackend.pojo.vo.sysproduct.PageSysProductTopicListVO;
import com.qingcloud.adminbackend.pojo.vo.sysproduct.SysProductTopicDetailVO;

import java.util.List;

/**
 * <p>
 * 产品主题服务类
 * </p>
 *
 * @author yangfan
 * @since 2021-11-09
 */
public interface ISysProductTopicService extends IService<SysProductTopic> {
    /**
     * 分页产品主题列表查询请求DTO
     *
     * @param pageParam 分页产品主题列表查询请求DTO
     * @return 分页产品主题列表查询返回VO
     */
    IPage<PageSysProductTopicListVO> pageSysProductTopicList(PageSysProductTopicListDTO pageParam);

    /**
     * 查询产品主题详情
     *
     * @param id 产品主题id
     * @return 产品主题id
     */
    SysProductTopicDetailVO selectSysProductTopicDetailById(Integer id);

    /**
     * 新增产品主题
     *
     * @param addSysProductTopicDTO 新增产品主题请求DTO
     * @param currentUserId 当前用户
     * @return 产品主题id
     */
    Integer addSysProductTopic(AddSysProductTopicDTO addSysProductTopicDTO, String currentUserId);

    /**
     * 更新产品主题
     * @param updateSysProductTopicDTO 更新产品主题请求DTO
     * @param currentUserId 当前用户
     * @return 更新结果
     */
    Boolean updateSysProductTopicById(UpdateSysProductTopicDTO updateSysProductTopicDTO, String currentUserId);

    /**
     * 删除产品主题
     *
     * @param idList 产品主题Id列表
     * @return 删除结果
     */
    Boolean deleteSysProductTopicList(List<Integer> idList);
}

